package com.pizzaria.bean;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;


@Entity
@Table(name="produto", schema="pizzaria")
@SequenceGenerator(name = "produto_sequence", sequenceName = "produto_sequence")
public class Produto {
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY,generator="produto_sequence")
	@Column(name="id", nullable=true, updatable=false)
	private long id;

	@Column(name="nome", nullable=true)
	private String nome;

	@Column(name="valor", nullable=true)
	private float valor;

	@Column(name="validade", nullable=true, columnDefinition="DATE")
	private Date validade;

	@Column(name="qtd_estoque", nullable=false)
	private float qtdEstoque;

	@Column(name="descricao", nullable=false)
	private String descricao;

	@Column(name="tipo", nullable=true)
	private byte tipo;


	public Produto() { }

	public Produto(long id,String nome,float valor,Date validade,float qtdEstoque,String descricao,byte tipo) {
		this.id = id;
		this.nome = nome;
		this.valor = valor;
		this.validade = validade;
		this.qtdEstoque = qtdEstoque;
		this.descricao = descricao;
		this.tipo = tipo;
	}

	public long getId(){
		return this.id;
	}

	public void setId(long id){
		this.id = id;
	}

	public String getNome(){
		return this.nome;
	}

	public void setNome(String nome){
		this.nome = nome;
	}

	public float getValor(){
		return this.valor;
	}

	public void setValor(float valor){
		this.valor = valor;
	}

	public Date getValidade(){
		return this.validade;
	}

	public void setValidade(Date validade){
		this.validade = validade;
	}

	public float getQtdEstoque(){
		return this.qtdEstoque;
	}

	public void setQtdEstoque(float qtdEstoque){
		this.qtdEstoque = qtdEstoque;
	}

	public String getDescricao(){
		return this.descricao;
	}

	public void setDescricao(String descricao){
		this.descricao = descricao;
	}

	public byte getTipo(){
		return this.tipo;
	}

	public void setTipo(byte tipo){
		this.tipo = tipo;
	}

}